Skip to main content
Qubrid AI
Alibaba Cloud ยท Code / LLM ยท Up to 1M Context ยท 386 tokens/sQubrid Playground License HuggingFaceStreaming Agentic Coding Tool Calling Long Context Code Generation Debugging

Overview

Qwen3 Coder Plus is a powerful Coding Agent built on Qwen3 by Alibaba Cloud โ€” the cloud computing arm of Alibaba Group and creator of the Qwen model family. It excels in tool calling and environment interaction to achieve autonomous end-to-end programming, combining outstanding coding proficiency with versatile general-purpose abilities. With a Transformer decoder-only architecture, up to 1M token context, and a blazing 386 tokens/s throughput, it is purpose-built for code generation, debugging, refactoring, and API design workflows. Served instantly via the Qubrid AI Serverless API.
โšก 386 tokens/s. Up to 1M context. Autonomous coding agent. Start building on Qubrid AI in minutes.

Model Specifications

FieldDetails
Model IDQwen/Qwen3-Coder-Plus
ProviderAlibaba Cloud (Qwen Team)
KindCode
ArchitectureTransformer decoder-only
ParametersN/A
Context LengthUp to 1,000,000 Tokens
MoENo
Throughput386 tokens/s
Release Date2025
LicenseApache 2.0
Training DataCode-focused datasets with instruction tuning
Function CallingNot Supported
Image SupportN/A
Serverless APIAvailable
Fine-tuningComing Soon
On-demandComing Soon
State๐ŸŸข Ready

Pricing

๐Ÿ’ณ Access via the Qubrid AI Serverless API with pay-per-token pricing. No infrastructure management required.
Token TypePrice per 1M Tokens
Input Tokens$0.10
Output Tokens$5.00

Quickstart

Prerequisites

  1. Create a free account at platform.qubrid.com
  2. Generate your API key from the API Keys section
  3. Replace QUBRID_API_KEY in the code below with your actual key
๐Ÿ’ก Temperature note: Default is 0.1 โ€” low temperature is recommended for deterministic, production-ready code generation.

Python

from openai import OpenAI

# Initialize the OpenAI client with Qubrid base URL
client = OpenAI(
    base_url="https://platform.qubrid.com/v1",
    api_key="QUBRID_API_KEY",
)

# Create a streaming chat completion
stream = client.chat.completions.create(
    model="Qwen/Qwen3-Coder-Plus",
    messages=[
      {
        "role": "user",
        "content": "Write a Python function to calculate fibonacci sequence"
      }
    ],
    max_tokens=8962,
    temperature=0.1,
    top_p=1,
    stream=True
)

# If stream = False comment this out
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
print("\n")

# If stream = True comment this out
print(stream.choices[0].message.content)

JavaScript

import OpenAI from "openai";

// Initialize the OpenAI client with Qubrid base URL
const client = new OpenAI({
  baseURL: "https://platform.qubrid.com/v1",
  apiKey: "QUBRID_API_KEY",
});

// Create a streaming chat completion
const stream = await client.chat.completions.create({
  model: "Qwen/Qwen3-Coder-Plus",
  messages: [
    {
      role: "user",
      content: "Write a Python function to calculate fibonacci sequence",
    },
  ],
  max_tokens: 8962,
  temperature: 0.1,
  top_p: 1,
  stream: true,
});

// If stream = false comment this out
for await (const chunk of stream) {
  if (chunk.choices[0]?.delta?.content) {
    process.stdout.write(chunk.choices[0].delta.content);
  }
}
console.log("\n");

// If stream = true comment this out
console.log(stream.choices[0].message.content);

Go

package main

import (
	"bufio"
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	url := "https://platform.qubrid.com/v1/chat/completions"

	data := map[string]interface{}{
		"model": "Qwen/Qwen3-Coder-Plus",
		"messages": []map[string]string{
			{
				"role":    "user",
				"content": "Write a Python function to calculate fibonacci sequence",
			},
		},
		"temperature": 0.1,
		"max_tokens":  8962,
		"stream":      true,
		"top_p":       1,
	}

	jsonData, _ := json.Marshal(data)
	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	req.Header.Set("Authorization", "Bearer QUBRID_API_KEY")
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	res, _ := client.Do(req)
	defer res.Body.Close()

	scanner := bufio.NewScanner(res.Body)
	for scanner.Scan() {
		line := scanner.Text()
		if line != "" {
			fmt.Println(line)
		}
	}
}

cURL

curl -X POST "https://platform.qubrid.com/v1/chat/completions" \
  -H "Authorization: Bearer QUBRID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "Qwen/Qwen3-Coder-Plus",
  "messages": [
    {
      "role": "user",
      "content": "Write a Python function to calculate fibonacci sequence"
    }
  ],
  "temperature": 0.1,
  "max_tokens": 8962,
  "stream": true,
  "top_p": 1
}'

Live Example

Prompt: Create me a modern Dashboard with interactive working buttons including graphs in HTML
Response:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Analytics Dashboard</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      body {
        font-family: "Segoe UI", sans-serif;
        background: #0f172a;
        color: #e2e8f0;
      }
      .topbar {
        background: #1e293b;
        padding: 16px 32px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #334155;
      }
      .topbar h1 {
        font-size: 1.4rem;
        color: #a78bfa;
      }
      .cards {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        padding: 24px 32px;
      }
      .card {
        background: #1e293b;
        border-radius: 12px;
        padding: 20px;
        border: 1px solid #334155;
      }
      .card .label {
        font-size: 0.8rem;
        color: #94a3b8;
        margin-bottom: 8px;
      }
      .card .value {
        font-size: 2rem;
        font-weight: 700;
        color: #a78bfa;
      }
      .card .delta {
        font-size: 0.8rem;
        color: #34d399;
        margin-top: 4px;
      }
      .charts {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 16px;
        padding: 0 32px 24px;
      }
      .chart-box {
        background: #1e293b;
        border-radius: 12px;
        padding: 20px;
        border: 1px solid #334155;
      }
      .chart-box h3 {
        font-size: 0.95rem;
        color: #94a3b8;
        margin-bottom: 16px;
      }
      .btn-row {
        display: flex;
        gap: 10px;
        padding: 0 32px 24px;
      }
      .btn {
        padding: 10px 20px;
        border-radius: 8px;
        border: none;
        cursor: pointer;
        font-size: 0.85rem;
        font-weight: 600;
        transition: opacity 0.2s;
      }
      .btn:hover {
        opacity: 0.85;
      }
      .btn-primary {
        background: #7c3aed;
        color: white;
      }
      .btn-success {
        background: #059669;
        color: white;
      }
      .btn-danger {
        background: #dc2626;
        color: white;
      }
    </style>
  </head>
  <body>
    <div class="topbar">
      <h1>๐Ÿ“Š Analytics Dashboard</h1>
      <span style="color:#94a3b8; font-size:0.85rem"
        >Last updated: just now</span
      >
    </div>

    <div class="cards">
      <div class="card">
        <div class="label">Total Revenue</div>
        <div class="value" id="revenue">$84,200</div>
        <div class="delta">โ†‘ 12.4% vs last month</div>
      </div>
      <div class="card">
        <div class="label">Active Users</div>
        <div class="value" id="users">3,821</div>
        <div class="delta">โ†‘ 8.1% vs last month</div>
      </div>
      <div class="card">
        <div class="label">Conversions</div>
        <div class="value" id="conv">5.7%</div>
        <div class="delta">โ†‘ 0.3% vs last month</div>
      </div>
      <div class="card">
        <div class="label">Avg Session</div>
        <div class="value">4m 12s</div>
        <div class="delta">โ†“ 0.5% vs last month</div>
      </div>
    </div>

    <div class="btn-row">
      <button class="btn btn-primary" onclick="refreshData()">
        ๐Ÿ”„ Refresh Data
      </button>
      <button class="btn btn-success" onclick="exportCSV()">
        โฌ‡ Export CSV
      </button>
      <button class="btn btn-danger" onclick="resetData()">โœ• Reset</button>
    </div>

    <div class="charts">
      <div class="chart-box">
        <h3>Monthly Revenue</h3>
        <canvas id="lineChart"></canvas>
      </div>
      <div class="chart-box">
        <h3>Traffic Sources</h3>
        <canvas id="doughnutChart"></canvas>
      </div>
    </div>

    <script>
      const lineCtx = document.getElementById("lineChart").getContext("2d");
      const lineChart = new Chart(lineCtx, {
        type: "line",
        data: {
          labels: [
            "Jan",
            "Feb",
            "Mar",
            "Apr",
            "May",
            "Jun",
            "Jul",
            "Aug",
            "Sep",
            "Oct",
            "Nov",
            "Dec",
          ],
          datasets: [
            {
              label: "Revenue ($)",
              data: [
                42000, 47000, 51000, 46000, 58000, 63000, 70000, 67000, 74000,
                79000, 82000, 84200,
              ],
              borderColor: "#7c3aed",
              backgroundColor: "rgba(124,58,237,0.1)",
              tension: 0.4,
              fill: true,
              pointRadius: 4,
            },
          ],
        },
        options: {
          responsive: true,
          plugins: { legend: { labels: { color: "#94a3b8" } } },
          scales: {
            x: { ticks: { color: "#94a3b8" }, grid: { color: "#1e293b" } },
            y: { ticks: { color: "#94a3b8" }, grid: { color: "#334155" } },
          },
        },
      });

      const dCtx = document.getElementById("doughnutChart").getContext("2d");
      new Chart(dCtx, {
        type: "doughnut",
        data: {
          labels: ["Organic", "Paid", "Referral", "Social"],
          datasets: [
            {
              data: [42, 28, 18, 12],
              backgroundColor: ["#7c3aed", "#06b6d4", "#10b981", "#f59e0b"],
            },
          ],
        },
        options: {
          responsive: true,
          plugins: { legend: { labels: { color: "#94a3b8" } } },
        },
      });

      function refreshData() {
        const newVal = (80000 + Math.random() * 10000).toFixed(0);
        document.getElementById("revenue").textContent =
          "$" + parseInt(newVal).toLocaleString();
        document.getElementById("users").textContent = (
          3500 + Math.floor(Math.random() * 500)
        ).toLocaleString();
        lineChart.data.datasets[0].data = lineChart.data.datasets[0].data.map(
          (v) => Math.max(40000, v + (Math.random() - 0.5) * 4000),
        );
        lineChart.update();
      }

      function exportCSV() {
        const csv =
          "Month,Revenue\n" +
          [
            "Jan",
            "Feb",
            "Mar",
            "Apr",
            "May",
            "Jun",
            "Jul",
            "Aug",
            "Sep",
            "Oct",
            "Nov",
            "Dec",
          ]
            .map((m, i) => `${m},${lineChart.data.datasets[0].data[i]}`)
            .join("\n");
        const a = document.createElement("a");
        a.href = "data:text/csv," + encodeURIComponent(csv);
        a.download = "dashboard.csv";
        a.click();
      }

      function resetData() {
        document.getElementById("revenue").textContent = "$84,200";
        document.getElementById("users").textContent = "3,821";
      }
    </script>
  </body>
</html>
Try it yourself in the Qubrid AI Playground โ†’

Playground Features

The Qubrid AI Playground lets you interact with Qwen3 Coder Plus directly in your browser โ€” no setup, no code, no cost to explore.

๐Ÿง  System Prompt

Define the modelโ€™s coding language, style conventions, and output format before the conversation begins โ€” essential for consistent autonomous coding sessions.
Example: "You are a senior full-stack engineer. Always write production-ready
code with proper error handling, type annotations, and inline comments.
Prefer functional patterns and include usage examples at the end."
Set your system prompt once in the Qubrid Playground and it applies across every turn of the conversation.

๐ŸŽฏ Few-Shot Examples

Establish your preferred code style and output format with concrete examples โ€” no fine-tuning required.
User InputAssistant Response
Implement binary search tree in Gotype Node struct { Val int; Left, Right *Node }; func insert(root *Node, val int) *Node { if root == nil { return &Node{Val: val} }; if val < root.Val { root.Left = insert(root.Left, val) } else { root.Right = insert(root.Right, val) }; return root }
Explain async/await vs Promises in JavaScriptPromises use .then()/.catch() chains. async/await is syntactic sugar over Promises โ€” it makes async code read like sync code. Both resolve to the same microtask queue behavior; async/await is preferred for readability in modern codebases.
๐Ÿ’ก Add few-shot examples in the Qubrid Playground to lock in code style, language preference, and output format โ€” no fine-tuning required.

Inference Parameters

ParameterTypeDefaultDescription
StreamingbooleantrueEnable streaming responses for real-time output
Temperaturenumber0.1Lower temperature for more deterministic code generation
Max Tokensnumber8962Maximum number of tokens the model can generate
Top Pnumber1Controls nucleus sampling for more predictable output

Use Cases

  1. Code generation
  2. Debugging
  3. Refactoring
  4. API design

Strengths & Limitations

StrengthsLimitations
Very strong coding ability across multiple languagesLess creative for storytelling or open-ended generation
Good long-context handling โ€” up to 1M tokensFunction calling not supported via API
Autonomous coding agent with tool calling capabilityParameter count not publicly disclosed
386 tokens/s throughput for fast code generation
Apache 2.0 โ€” fully open-source with commercial use

Why Qubrid AI?

  • ๐Ÿš€ No infrastructure setup โ€” serverless API, pay only for what you use
  • ๐Ÿ” OpenAI-compatible โ€” drop-in replacement using the same SDK, just swap the base URL
  • โšก 386 tokens/s โ€” Qwen3 Coder Plusโ€™s high throughput is fully realized on Qubridโ€™s low-latency infrastructure
  • ๐Ÿงช Built-in Playground โ€” prototype with system prompts and few-shot examples instantly at platform.qubrid.com
  • ๐Ÿ“Š Full observability โ€” API logs and usage tracking built into the Qubrid dashboard
  • ๐ŸŒ Multi-language support โ€” Python, JavaScript, Go, cURL out of the box

Resources

ResourceLink
๐Ÿ“– Qubrid Docsdocs.platform.qubrid.com
๐ŸŽฎ PlaygroundTry Qwen3 Coder Plus live
๐Ÿ”‘ API KeysGet your API Key
๐Ÿค— Hugging FaceQwen/Qwen3-Coder-Plus
๐Ÿ’ฌ DiscordJoin the Qubrid Community

Built with โค๏ธ by Qubrid AI

Frontier models. Serverless infrastructure. Zero friction.